package pl.ps.wi.monitoring.station.services;

/**
* @class CardData
* @brief Klasa zawierająca dane karty. Zawiera definicję klasy CardData.
* @date 12.05.2010
* @version 1.0

* Klasa posiada metody oraz pola zwracające informacje o danych zapisanych na karcie
*/
class CardData {

/**
* Tablica stringów dla danych karty
*/
	private String[] data;
/**
* Tablica intow zawierająca długość i'tego elementu
*/
	private int[] resultLen;
/**
* Tablica boolowska, zawierająca informacje czy i'ty element jest stringiem.
*/
	private boolean[] resultIsString;
/**
* Konstruktor parametryczny klasy - przyjmuje tablicę Stringów zawierającą dane, 
* oraz tablicę zawierającą długości stringów, tablicę boolowską zawierającą informacje, czy element jest stringiem
* @param data
* @param resultLen
* @param resultIsString
*/
	CardData(String[] data, int[] resultLen, boolean[] resultIsString) {
		this.data = data;
		this.resultLen = resultLen;
		this.resultIsString = resultIsString;
	}
/**
* Metoda zwracająca rozmiar tablicy data
*/	
	int size() {
		return data.length;
	}
/**
* Metoda zwracająca wartość Stringa i'tego elementu tablicy data.
* @param i
* @return zwraca wartość Stringa i'tego elementu tablicy data.
*/
	String getData(int i) {
		return data[i];
	}
/**
* Metoda zwracająca długość i'tego elementu
* @param i
* @return zwraca długość i'tego elementu
*/	
	int getDataLen(int i) {
		return resultLen[i];
	}
/**
* Metoda zwracająca wartość true, gdy element i'ty jest stringiem, w przeciwnym przypadku zwraca false.
* @param i
* @return zwraca wartość i'tego elementu tablicy resultIsString
*/		
	boolean isDataIsString(int i) {
		return resultIsString[i];
	}
	
}
